From: Jimi Xenidis Date: Thu, 14 Sep 2006 18:20:48 +0000 (-0400) Subject: [POWERPC][XEN] Clean up init_frame_table() X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15658^2~59 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=a907867e5c96f2a208874304dcbc5148e64eb21c;p=xen.git [POWERPC][XEN] Clean up init_frame_table() figure out its size correctly and remove unused global Signed-off-by: Jimi Xenidis Signed-off-by: Hollis Blanchard --- diff --git a/xen/arch/powerpc/mm.c b/xen/arch/powerpc/mm.c index 1f119f4a75..530a64fb47 100644 --- a/xen/arch/powerpc/mm.c +++ b/xen/arch/powerpc/mm.c @@ -39,7 +39,6 @@ /* Frame table and its size in pages. */ struct page_info *frame_table; -unsigned long frame_table_size; unsigned long max_page; unsigned long total_pages; @@ -190,17 +189,20 @@ int get_page_type(struct page_info *page, unsigned long type) void __init init_frametable(void) { unsigned long p; + unsigned long nr_pages; + int i; - frame_table_size = PFN_UP(max_page * sizeof(struct page_info)); + nr_pages = PFN_UP(max_page * sizeof(struct page_info)); + nr_pages = min(nr_pages, (4UL << (20 - PAGE_SHIFT))); + - p = alloc_boot_pages(min(frame_table_size, 4UL << 20), 1); + p = alloc_boot_pages(nr_pages, 1); if (p == 0) panic("Not enough memory for frame table\n"); frame_table = (struct page_info *)(p << PAGE_SHIFT); - frame_table_size = (frame_table_size + PAGE_SIZE - 1) & PAGE_MASK; - - memset(frame_table, 0, frame_table_size); + for (i = 0; i < nr_pages; i += 1) + clear_page((void *)((p + i) << PAGE_SHIFT)); } long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) diff --git a/xen/include/asm-powerpc/mm.h b/xen/include/asm-powerpc/mm.h index 734c7a2856..b6dc8df34e 100644 --- a/xen/include/asm-powerpc/mm.h +++ b/xen/include/asm-powerpc/mm.h @@ -229,8 +229,6 @@ extern vm_assist_info_t vm_assist_info[]; #define share_xen_page_with_guest(p, d, r) do { } while (0) #define share_xen_page_with_privileged_guests(p, r) do { } while (0) -extern unsigned long frame_table_size; - /* hope that accesses to this will fail spectacularly */ #define machine_to_phys_mapping ((u32 *)-1UL)